package com.jnzc.ocr.serv.shop.service;

import com.jnzc.ocr.dependencies.serv.mybatis.MybatisService;
import com.jnzc.ocr.serv.shop.entity.ShopProduct;
import com.jnzc.ocr.serv.shop.filter.ShopProductFilter;
import com.jnzc.ocr.serv.shop.vo.ShopProductInfoVo;
import com.jnzc.ocr.serv.shop.vo.ShopProductSaveVo;

import java.util.List;
import java.util.Map;

/**
 * @author zhangcm
 * @version 1.0, 2017-09-29
 */
public interface ShopProductService extends MybatisService<ShopProduct, ShopProductFilter> {

    ShopProduct find(Long id, Long shopId);

    ShopProductInfoVo findInfo(Long id, Long shopId);

    ShopProduct save(ShopProductSaveVo param, Long shopId);

    void delete(Long id, Long shopId);

    List<ShopProduct> list(List<Long> idList, Long shopId);

    Map<Long, ShopProduct> listMap(List<Long> idList, Long shopId);

    void clearLowStock(Long shopId);

    void updateLowStock(List<Long> idList, Long shopId);

    void updateSale(Long id, Long shopId, Boolean ifOnSale);
}
